package com;

import com.factory.AbstractClothFactory;
import com.factory.FactoryProducer;
import com.pant.define.PantEnum;
import com.pant.iface.Pant;
import com.shirt.define.ShirtEnum;
import com.shirt.iface.Shirt;

public class Test {

    public static void main (String[] args) {

        // 选中衣服工厂
        AbstractClothFactory shirtFactory = FactoryProducer.getFactory("shIrt");
        if ( shirtFactory != null ) {
            // 获取T恤衫
            // 模拟前端传值，枚举数字
            Integer shirtCode = 1;
            // 通过 枚举数字 置换 枚举名称
            String shirtName = null;
            for ( ShirtEnum shirtEnum: ShirtEnum.values()) {
                if ( shirtEnum.code == shirtCode ){
                    shirtName = shirtEnum.name;
                    break;
                }
            }
            Shirt shirt = shirtFactory.getShirt(shirtName);
            // 打印测试（鲁棒性加持）
            if ( shirt != null )
                shirt.product();
            else
                System.out.println("工厂无法生产用户当前指定代号的衣服");
        }

        // 选中裤子工厂
        AbstractClothFactory pantFactory = FactoryProducer.getFactory("pAnT");
        if ( pantFactory != null ) {
            // 获取裁剪裤
            // 模拟前端传值，枚举数字
            Integer pantCode = 3;
            // 通过 枚举数字 置换 枚举名称
            String pantName = null;
            for ( PantEnum pantEnum: PantEnum.values()) {
                if ( pantEnum.code == pantCode ){
                    pantName = pantEnum.name;
                    break;
                }
            }
            Pant pant = pantFactory.getPant(pantName);
            // 打印测试（鲁棒性加持）
            if ( pant != null )
                pant.product();
            else
                System.out.println("工厂无法生产用户当前指定代号的裤子");
        }

    }

}
